import java.io.FileWriter;
import java.io.IOException;

/**
 * 如果希望将数据写到纯文本文件当中，那么就可以用FileWriter类
 * <p>
 * 1.导包
 * import java.io.FileWriter
 * <p>
 * 2.创建，构造方法
 * public FileWriter(String filename)参数字符串就是文件的路径名称。
 * FileWriter fw=new FileWriter("file01.txt");
 * 文件扩展名只能解决默认用什么应用打开，不能决定其内容。
 * <p>
 * 3.使用   成员方法
 * 写数据：public void write（String str）：参数就是需要写入文件 的字符串
 * 关闭流：public void close（）；关闭释放相关资源
 * <p>
 * 总结：FileWriter类的基本使用：创  写  关
 * <p>
 * 注意事项：
 * 一定要用close方法关闭
 * 在创建的时候，如果提示又可能异常，那么就在主方法后面加上
 * public static void main(String []args)  throws IOException
 * throws IOException意思就是这个异常我不管
 * <p>
 * 在使用FileWriter的时候
 * 1.如果指定的文件不存在，那么就会自动的创建文件
 * 2。如果指定的文件已经 存在那么就会覆盖写入的==相当于是替换
 * 3.如果不想覆盖写入想要追加写入那么就要用另外一种重载形式的构造方法：
 * public FileWriter（String filename，boolean append）第二个参数是追加true值，那么将会追加写入
 * <p>
 * <p>
 * FileWriter的重载方法
 * public void writer(String str);参数是写一个完整的字符串
 * public void writer(int ch);  参数是单个文字对应的数字
 * public void writer(String str，int offset，int count);写字符串当中的一部分内容
 * public void writer(char[]  array);写一个完整的字符数组
 * public void writer(char[]  array，int offset，int count);写字符数组当中的一部分内容
 */
public class WriterIO {
    public static void main(String[] args) throws IOException {
        //创建FileWriter类的对象
        FileWriter fw = new FileWriter("file01.txt");

        //调用writer方法写数据
        fw.write("java");

        //调用close方法关闭流
        fw.close();
        //===================================
        //在原来的“hello”上追加”java”
        FileWriter fw1 = new FileWriter("file01.txt", true);
        fw1.write("java");
        fw1.close();
//        System.out.println("=============");
        /**
         * 换行符也是一种字符
         * windows中是\r\n  这是两个字符一个是\r  一个是\n
         *macos中：早期是\r  现在是\n
         * linux中：\n
         */
        FileWriter fw2 = new FileWriter("file01.txt");
        fw2.write("hello\r\n");
        fw2.write("\r\n");//windows中的换行
        fw2.write("Hello");
        fw2.write("\r\n");
        //写单个字符串
        fw2.write(65);
        fw2.write("\r\n");
        fw2.write(48);
        fw2.write("\r\n");
        fw2.write(97);
        fw2.write("\r\n");
        //写一个完整的字符串
        fw2.write("Hello\r\n");
        fw2.write("World");
        fw2.write("\r\n");
        //写一个字符串当中的 的部分内容
        String str = "生前何必久睡，死后必定长眠！";
        fw2.write(str, 7, 6);
        fw2.write("\r\n");
        //写一个完整的字符数组
        char[] array = {'j', 'a', 'v', 'a', '!'};
        fw2.write(array);
        fw2.write("\r\n");
        fw2.write(array, 1, 3);
        fw2.close();
    }
}